草庐IT

vue2 jest

全部标签

javascript - 在 Jest 中手动模拟对象

我正在尝试找出Jest中的手动模拟。我认为这应该很容易……但事实并非如此。我的项目目录是这样的__测试__用户测试.js模特user.js__模拟__user.js节点模块...package.jsonmodels/user.js和models/__mocks__/user.js都有相同的代码:module.exports={create(username,password){returnnewPromise(function(resolve,reject){setTimeout(function(){resolve({"username":username,"password":pa

javascript - Jest 自定义匹配器

我正在尝试在Jest中创建一个类似于stringMatching但接受空值的自定义匹配器。但是,文档没有说明如何重用现有的匹配器。到目前为止,我有这样的东西:expect.extend({stringMatchingOrNull(received,argument){if(received===null){return{pass:true,message:()=>'Stringexpectedtobenull.'};}expect(received).stringMatching(argument);}});我不确定这是正确的方法,因为当我调用stringMatching匹配器时我没有

javascript - 指定 jest 测试文件目录

我是单元测试的新手,我只想测试位于特定目录中的文件我如何指定我希望测试仅对特定目录中的文件运行而忽略其他目录所以我已经通过npm安装了jest"jest":"^23.6.0",并通过在package.json中指定了我的测试命令scripts:{"test":"jest--verbose"}以上运行所有文件,但我希望它运行特定目录中的文件,例如仅最新目录我该如何进行 最佳答案 添加目录名作为参数scripts:{"test":"jest--verbose./my-directory"}

javascript - Jest : mocking console. 错误 - 测试失败

问题:我有一个简单的React组件,我正在使用它来学习使用Jest和Enzyme测试组件。在处理Prop时,我添加了prop-types模块来检查开发中的属性。prop-types使用console.error在未传递必需的props或props是错误的数据类型时发出警报。我想模拟console.error来计算它在我传入丢失/错误输入的props时被prop-types调用的次数。使用这个简化的示例组件和测试,我希望这两个测试的行为如下:具有0/2个所需Prop的第一个测试应该捕获模拟调用两次。具有1/2必需Prop的第二个测试应该捕获调用一次的模拟。相反,我得到了这个:第一个测试运

javascript - Vue 中的去抖计算属性/getter

我似乎无法去除(lodash)计算属性或vuexgetter。去抖函数总是返回未定义。https://jsfiddle.net/guanzo/yqk0jp1j/2/HTML:computed:{{textComputed}}debounced:{{textDebounced}}JS:newVue({el:'#app',data:{text:''},computed:{textDebounced:_.debounce(function(){returnthis.text},500),textComputed(){returnthis.text}}}) 最佳答案

javascript - 为什么 Vue.js 使用 VDOM?

AccordingtoVue.js'documentation,它在底层使用VDOM来呈现UI。据我了解,VDOM的发明主要是为了避免“跟踪依赖”。使用VDOM,可以在不知道到底发生了什么变化的情况下协调应用程序的更大部分。因此,可以使用普通对象和数组来描述View,只需要通知框架有关更改(如React中的setState)。然后,比较两个VDOM树并将所需的最小更改集应用到真实的DOM。另一方面,Vue.js使用跟踪依赖项。它确切地知道发生了什么变化,因此可以使用DOM绑定(bind)。此外,由于大多数Vue.js用户已经在使用模板语言,因此它并没有真正受益于VDOM提供的更大灵ac

javascript - 使用 React 或 Vue 增强多页面应用程序的某些部分

我正在服务器端使用java&hibernate&springmvc开发企业应用程序并使用jquery在客户端(不是SPA)。现在在搜索页面中,我使用ajax并仅获得json响应,但我不想在每个搜索或分页请求中都写如下内容。function(ajaxData){....$('#search').html(''+''+''+''+ajaxData.title+''+......''+'')....}我认为使用jsx和react或vuecomponent只是在这个页面刷新结果。我还想重用一些htmlblock,我认为使用react或vue会很容易我曾经构建过一个小的SPA项目,它都是关于np

javascript - 使用 Vue.js 的异步/等待 axios 调用

我在设置其中一个时遇到了一些麻烦。我的Vue.js应用程序中的值。我相信我要么没有正确理解异步axios调用,要么没有理解异步在Vue.js中的工作方式。我有以下三种方法:updateAvailability(availability){if(availability==true){this.showYourDetails();}else{this.showBookingDetails();}},checkAvailability:asyncfunction(event){event.preventDefault();constavailability=awaitthis.handle

javascript - Vue 子组件属性不起作用

我正在尝试破解此代码[A](请参阅底部的fiddle):{{file.__progress}}%进入[B]基本相同的代码,但随后带有一个子组件。这里是父级:这里是child:{{file.__progress}}%在child身上我设置了file属性:props:{file:{type:File,required:true}},父子代码中一定存在问题,因为file__img属性在[B]中的子项(渲染时)中不存在,请参阅:,而它确实存在于[A]中:怎么了?控制台没有错误。原始([A])代码来自here.FileObject由一个xhr实例组成(我想?!)。这里是[A]的fiddle/沙盒

javascript - Jest react 测试 : Check state after delay

在Jest文档的帮助下尝试创建测试时我真的很困惑https://facebook.github.io/jest/docs/timer-mocks.html#content我正在尝试检查容器安装时的状态,然后几秒钟后,在我手动设置状态中的值(使用setTimeout())之后。我在Main的componentDidMount中有一个这样的函数:componentDidMount(){this.setStateAfterDelay();}函数的作用是:setStateAfterDelay=()=>{setTimeout(()=>{this.setState({fruits:['banana